package com.sky.config;

import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;

/**
 * Redis配置类
 * 主要用于创建RedisTemplate对象
 * 创建完RedisTemplate对象后就可以通过它来操作我们的Redis
 */
@Configuration
@Slf4j
public class RedisConfiguration {

    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory){
/*                此处注入了redis的连接工厂对象
                这个连接工厂对象不需要我们自己去创建  我们已经引入了Spring Data Redis 他会自动帮我们创建好，并且放到Spring容器中
                所以我么在此只需要声明一下就可以注进来了
*/
        log.info("开始创建我们的redis模板对象....");
        //创建一个redisTemplate对象
        RedisTemplate redisTemplate = new RedisTemplate();
        //让redisTemplate对象关联上我们的连接工厂对象(创建连接工厂对象)
        redisTemplate.setConnectionFactory(redisConnectionFactory);
        //设置redis key的序列化器       （此处指定的是字符串类型的序列化器）
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        return redisTemplate;
    }


}
